package com.tanhua.manager.controller;

import com.tanhua.manager.service.ManageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/manage")
public class ManageController {

    @Autowired
    private ManageService manageService;

//    用户数据翻页
//    请求方式 get
//     请求地址  /manage/users
//    请求参数 token
//     Query参数  page  pagesize  id  nickname  city
//      返回类型 PageResult
    @GetMapping(value = "/users",name = "用户数据翻页")
    public ResponseEntity userList(@RequestParam(defaultValue = "1") Integer page,
                                   @RequestParam(defaultValue = "20") Integer pagesize,
                                   @RequestParam(required = false)String city,
                                   @RequestParam(required = false)String nickname,
                                   @RequestParam(required = false)Long id){
       return manageService.userList(page,pagesize,city,nickname,id);

    }
//    查询指定用户信息
//    请求方式 get
//     请求地址  /manage/users/:userID
//    请求参数 token
//     路径参数  userID
//      返回类型 UserInfo
    @GetMapping(value = "/users/{userID}",name = "用户数据翻页")
    public ResponseEntity queryUserInfo(@PathVariable("userID") Long userId){
        return manageService.queryUserInfo(userId);

    }

//    分页查询指定用户的小视频
//    请求方式 get
//     请求地址  /manage/videos
//    请求参数 token
//     Query参数  page  pagesize  uid
//      返回类型 PageResult
    @GetMapping(value = "/videos",name = "分页查询指定用户的小视频")
    public ResponseEntity queryUserVideo(@RequestParam(defaultValue = "1") Integer page,
                                        @RequestParam(defaultValue = "10") Integer pagesize,
                                        @RequestParam(value = "uid",required = false) Long userId){
        return manageService.queryUserVideo(page,pagesize,userId);

    }

    //    分页查询指定用户的圈子动态
//    请求方式 get
//     请求地址 /manage/messages
//    请求参数 token
//     Query参数  page  pagesize  uid state
//      返回类型 PageResult
    @GetMapping(value = "/messages",name = "分页查询指定用户的圈子动态")
    public ResponseEntity queryUserMessages(@RequestParam(defaultValue = "1") Integer page,
                                        @RequestParam(defaultValue = "10") Integer pagesize,
                                        @RequestParam(value = "uid",required = false) Long userId,
                                        Integer state){
        return manageService.queryUserMessages(page,pagesize,userId,state);

    }
//    查询指定圈子动态
//    请求方式 get
//     请求地址 /manage/messages/:id
//    请求参数 token
//    路径参数  :id
//      返回类型 MovementVo
    @GetMapping(value = "/messages/{id}",name = "查询指定圈子动态")
    public ResponseEntity queryMovementById(@PathVariable("id") String movementId){
        return manageService.queryMovementById(movementId);

    }
    //   分页 查询指定圈子动态的评论
//    请求方式 get
//     请求地址 /manage/messages/comments
//    请求参数 token
//    Query参数 page  pagesize   动态id
//      返回类型 MovementVo
    @GetMapping(value = "/messages/comments",name = "查询指定圈子动态的评论")
    public ResponseEntity queryMovementComment(@RequestParam(defaultValue = "1") Integer page,
                                            @RequestParam(defaultValue = "10") Integer pagesize,
                                            @RequestParam("messageID") String movementId){
        return manageService.queryMovementComment(page,pagesize,movementId);

    }

}
